package com.jmodata.zxu.service.manager;

import com.jmodata.zxu.model.DataGrid;
import com.jmodata.zxu.pojo.manager.ManagerRole;
import com.jmodata.zxu.pojo.manager.Role;
import com.jmodata.zxu.pojo.manager.RoleMenu;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * 角色业务层接�?
 * 
 * @author Administrator
 */
public interface RoleService {
	/**
	 * 新增角色
	 * 
	 * @param role
	 * @return
	 * @throws Exception
	 */
	public int insertRole(Role role) throws Exception;

	/**
	 * 修改角色
	 * 
	 * @param role
	 * @return
	 * @throws Exception
	 */
	public int updateRole(Role role) throws Exception;

	/**
	 * 删除角色
	 * 
	 * @param roleid
	 * @throws Exception
	 */
	public int deleteRole(BigDecimal roleid) throws Exception;

	/**
	 * 查询角色列表
	 * 
	 * @param map
	 * @return
	 * @throws Exception
	 */
	public DataGrid queryRoleList(Map<Object, Object> map) throws Exception;

	/**
	 * 通过角色编号查询角色
	 * 
	 * @param roleid
	 * @return
	 * @throws Exception
	 */
	public Role getRoleById(String roleid) throws Exception;

	/**
	 * 给角色授�?
	 * 
	 * @param list
	 * @return
	 * @throws Exception
	 */
	public int insertRoleMenu(List<RoleMenu> list, String roleId) throws Exception;

	/**
	 * 查询角色�?��有权�?
	 * 
	 * @param roleid
	 * @return
	 * @throws Exception
	 */
	public List<RoleMenu> queryRoleMenu(String roleid) throws Exception;

	/**
	 * 删除角色与菜单关系表
	 * 
	 * @param roleid
	 * @return
	 * @throws Exception
	 */
	public int deleteRoleMenu(String roleid) throws Exception;

	/**
	 * 根据管理员id查询角色与管理员关联信息
	 * 
	 * @param map
	 * @return
	 * @throws Exception
	 */
	public List<ManagerRole> findRoleIdByManagerId(Map<Object, Object> map) throws Exception;

	/**
	 * 获取角色列表
	 * 
	 * @return
	 * @throws Exception
	 */
	public List<Role> getRolesList();
}
